package com.thfw.test.model.bean;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * Created BY Cuishikun
 * Created ON 2021/11/24
 * Package Name com.thfw.test.model.bean
 **/
public class MainMsgBean implements Serializable {

    public OverView getOverview() {
        return overview;
    }

    public void setOverview(OverView overview) {
        this.overview = overview;
    }

    public ArrayList<DurationGroupBean> getDuration4Group() {
        return duration4Group;
    }

    public void setDuration4Group(ArrayList<DurationGroupBean> duration4Group) {
        this.duration4Group = duration4Group;
    }

    public Duration4MouthBean getDuration4Mouth() {
        return duration4Mouth;
    }

    public void setDuration4Mouth(Duration4MouthBean duration4Mouth) {
        this.duration4Mouth = duration4Mouth;
    }

    public Energy4Day7 getEnergy4Day7() {
        return energy4Day7;
    }

    public void setEnergy4Day7(Energy4Day7 energy4Day7) {
        this.energy4Day7 = energy4Day7;
    }

    OverView overview;
    //各组 总亮灯时间
    ArrayList<DurationGroupBean> duration4Group;
    //各组近半年亮灯时间统计
    Duration4MouthBean duration4Mouth;
    Energy4Day7 energy4Day7;


    private static class Energy4Day7 {
        public ArrayList<String> getX() {
            return x;
        }

        public void setX(ArrayList<String> x) {
            this.x = x;
        }

        public ArrayList<ArrayList<YBean>> getY() {
            return y;
        }

        public void setY(ArrayList<ArrayList<YBean>> y) {
            this.y = y;
        }

        ArrayList<String> x;
        ArrayList<ArrayList<YBean>> y;

        private static class YBean {
            String name;

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public Object getEnergy() {
                return energy;
            }

            public void setEnergy(Object energy) {
                this.energy = energy;
            }

            Object energy;
        }
    }

    private static class Duration4MouthBean {
        //月份
        ArrayList<String> mouth;
        //各组亮灯时间
        ArrayList<GroupDurationBean> groupDuration;

        private static class GroupDurationBean {
            //组名
            String groupName;
            //各月份亮灯时间 顺序与mouth一致
            ArrayList<TimeBean> time;

            private static class TimeBean {
                public int getMillisecond() {
                    return millisecond;
                }

                public void setMillisecond(int millisecond) {
                    this.millisecond = millisecond;
                }

                public String getFormatTime() {
                    return formatTime;
                }

                public void setFormatTime(String formatTime) {
                    this.formatTime = formatTime;
                }

                private int millisecond;
                String formatTime;
            }
        }
    }

    private static class DurationGroupBean {
        //组名
        String groupName;
        //;亮灯时间
        ArrayList<TimeBean> time;

        private static class TimeBean {
            //亮灯时间 毫秒值
            double millisecond;

            public double getMillisecond() {
                return millisecond;
            }

            public void setMillisecond(double millisecond) {
                this.millisecond = millisecond;
            }

            public String getFormatTime() {
                return formatTime;
            }

            public void setFormatTime(String formatTime) {
                this.formatTime = formatTime;
            }

            //亮灯时间 格式化
            String formatTime;
        }
    }

    public static class OverView {

        //各区域灯具信息
        ArrayList<LampBean> lampRegion;

        public ArrayList<LampBean> getLampRegion() {
            return lampRegion;
        }

        public void setLampRegion(ArrayList<LampBean> lampRegion) {
            this.lampRegion = lampRegion;
        }

        public int getLampEnergyStandard() {
            return lampEnergyStandard;
        }

        public void setLampEnergyStandard(int lampEnergyStandard) {
            this.lampEnergyStandard = lampEnergyStandard;
        }

        public int getLampAllNum() {
            return lampAllNum;
        }

        public void setLampAllNum(int lampAllNum) {
            this.lampAllNum = lampAllNum;
        }

        public ArrayList<LampEnergyBean> getLampRegionEnergy() {
            return lampRegionEnergy;
        }

        public void setLampRegionEnergy(ArrayList<LampEnergyBean> lampRegionEnergy) {
            this.lampRegionEnergy = lampRegionEnergy;
        }

        public int getLampEnergy() {
            return lampEnergy;
        }

        public void setLampEnergy(int lampEnergy) {
            this.lampEnergy = lampEnergy;
        }

        public LampType getLampType() {
            return lampType;
        }

        public void setLampType(LampType lampType) {
            this.lampType = lampType;
        }

        //能耗对比值 用于当日能耗环形图对比 做分母用 各区域当日能耗采用lampRegionEnergy中的当日能耗值
        int lampEnergyStandard;
        //灯具总数
        int lampAllNum;
        ArrayList<LampEnergyBean> lampRegionEnergy;
        //总能耗
        int lampEnergy;
        LampType lampType;

        public static class LampType {
            //亮灯率
            String lampIsOpen;
            //故障数
            int lampFault;
            //在线数
            int lampType;

            public String getLampIsOpen() {
                return lampIsOpen;
            }

            public void setLampIsOpen(String lampIsOpen) {
                this.lampIsOpen = lampIsOpen;
            }

            public int getLampFault() {
                return lampFault;
            }

            public void setLampFault(int lampFault) {
                this.lampFault = lampFault;
            }

            public int getLampType() {
                return lampType;
            }

            public void setLampType(int lampType) {
                this.lampType = lampType;
            }
        }

        private static class LampEnergyBean {
            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public int getEnergy() {
                return energy;
            }

            public void setEnergy(int energy) {
                this.energy = energy;
            }

            //区域名称
            String name;
            //能耗
            int energy;
        }

        private static class LampBean {
            public int getNum() {
                return num;
            }

            public void setNum(int num) {
                this.num = num;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            //对应灯具数目
            int num;
            //区域名称
            String name;
        }
    }
}
